home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / c64-preservation-project / educational / intro_to_basic_part_2[commodore_1983].nbz / tune player (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  801 b   |  31 lines

  1. 10 REM TUNE PLAYER
  2. 20 DIM N(60) :REM FREQUENCY TABLE
  3. 30 FOR J=1 TO 60 :REM SET FREQUENCY TABLE
  4. 40 N(J) = 64*1.059463 ^ J
  5. 50 NEXT J
  6. 55 R=6
  7. 60 VV=212*256:REM SET BASE ADDRESS
  8. 70 POKE VV+24,15 :REM SET VOLUME
  9. 80 POKE VV+5,9+16*1 :REM SET ATTACK AND DECAY
  10. 90 POKE VV+6,0 :REM SET RELEASE VALUE
  11. 100 REM MAIN LOOP STARTS HERE
  12. 110 READ X$
  13. 120 IF X$="Z" THEN POKE VV+24,0:STOP :REM STOP IF END OF TUNE
  14. 130 READ Y$
  15. 140 FOR J=1 TO LEN(X$):REM PLAY EACH NOTE IN STRING PAIR
  16. 150 A=ASC(MID$(X$,J,1)):B=ASC(MID$(Y$,J,1))
  17. 160 FF=16*N(A-42)
  18. 170 POKE VV+1,FF/256
  19. 180 POKE VV,(FF-32768) AND 255
  20. 190 T=TI+R*(B-48):REM SET ALARM IN T
  21. 200 POKE VV+4,17 :REM START NOTE
  22. 210 IF TI<T THEN 210 :REM WAIT FOR NOTE TO END
  23. 220 POKE VV+4,0 :REM STOP NOTE
  24. 230 NEXT J
  25. 240 GOTO100
  26. 400 DATA"CHHHHLHHJJJJMJLJHOMLLJHJ"
  27. 410 DATA"444426224442644444444448"
  28. 420 DATA"CCHHHHLHJJJJMJJLOMLOMLHJH"
  29. 430 DATA"2244426444426222642646248"
  30. 440 DATA"Z"
  31.